<?php
session_start();

@include("config.inc.php");
@include("functions.inc.php");

$log = "d://stuff/servant/testHTTP.txt";
$cc = fopen ($log,"w");

//Необходимо подключиться к БД
$link = mysql_connect($DBSERVER, $DBUSER, $DBPASS)
or die("Не могу подключиться" );

// сделать $DB текущей базой данных
mysql_select_db($DB, $link) or die ('Не могу выбрать БД');

//$link->query("SET NAMES 'utf8'");

if(!$_POST['do'] OR $_POST['do'] =='')

    {
        //Генерируем шестизначный ключ для капчи
        if($_SESSION['uid'] =='') { $_SESSION['uid'] = mt_rand(100000,999999); }

        //Выводим форму
        echo '<html><head><title>Регистрация</title></head><body>';
        echo '<h2>Форма регистрации</h2>';
        echo'<form action="" method="POST"><table cellpadding=4 cellspacing=0 border=1 style="border-collapse:collapse">';
        echo '<tr><td>Желаемый ник:</td><td><input name="nick" type="text" value=""></td></tr>';
        echo '<tr><td>Пароль:</td><td><input name="pass" type="password" value=""></td></tr>';
        echo '<tr><td>Ещё раз пароль:</td><td><input name="rpass" type="password" value=""></td></tr>';
        echo '<tr><td>Эл.адрес</td><td><input name="mail" type="text" value=""></td></tr>';
        echo '<tr align="center"><td colspan=2><img src="img/capcha.php?sid='.$_SESSION['uid'].'"/><br/><input name="sid" type="text" value=""></td></tr>';
        echo '<tr><td colspan=2 align="right"><input name="do" type="submit" value="зарегистрировать"></td></tr>';
        echo '</table></form><a href="registration.php?exit=1">выход</body></html>';
        
    }

    if($_GET['exit']) {@session_destroy(); unset($_GET['exit']); mysql_close($link);}

//Если данные отправлены
if($_POST['do'] !='')

      {
        //Начинаем проверять входящие данные
        if($_POST['sid'] == $_SESSION['uid'])

          {
            //Создаем запрос к базе для проверки существования Пользователя
            $nick = $_POST['nick'];
            $result = mysql_query("SELECT * FROM users WHERE username='".($nick)."'");
            $aff_rows = mysql_affected_rows();
            $num_rows = mysql_num_rows($result);


$da = date("d.m.y") . ' ' . date("H:i:s")." ".$aff_rows. " выбрано aff строк\n";
fwrite($cc, $da);

$da = date("d.m.y") . ' ' . date("H:i:s")." ".$num_rows. " выбрано num строк\n";
fwrite($cc, $da);


            //Проверка результата запроса
              if($num_rows == 0)
                 {

                  //Проверка ввведенных паролей
                  if($_POST['pass'] !='' AND $_POST['rpass'] !='' AND $_POST['pass'] === $_POST['rpass'])
                      {

                      //Проверяем на валидность электронный адрес
                      if(checkmail($_POST['mail']) !== -1)
                          {
                            //Осуществляем регистарацию
                            //Генерируем uniq_id
                            $uniq_id = md5($_SERVER['REMOTE_ADDR'].$_SERVER['HTTP_USER_AGENT'].mktime());
                            $pass = $_POST['pass'];
                            $email = $_POST['mail'];

$da = date("d.m.y") . ' ' . date("H:i:s") . ": POST->login = " . $nick ."\n";
fwrite($cc, $da);
$da = date("d.m.y") . ' ' . date("H:i:s") . ": POST-> password = " . $pass . "\n";
fwrite($cc, $da);


                            //Создаем запрос для записи данных в БД
                            $r = @mysql_query("INSERT INTO users VALUES(NULL,'".$nick."','".
                            md5($pass)."','".$email."','".$uniq_id."',0,'".date("dmY")."','".date("dmY")."')");

                              //После запроса отправляем письмо юзеру, для активации аккаунта
                              if($r) 
                                {

              // Для отправки e-mail в виде HTML устанавливаем необходимый mime-тип и кодировку
              $header="Date: ".date("D, j M Y G:i:s")." +0700\r\n"; 
              $header.="From: =?windows-1251?Q?".str_replace("+","_",str_replace("%","=",urlencode('Максим')))."?= <login@mail.ru>\r\n"; 
              $header.="X-Mailer: The Bat! (v3.99.3) Professional\r\n"; 
              $header.="Reply-To: =?windows-1251?Q?".str_replace("+","_",str_replace("%","=",urlencode('Максим')))."?= <login@mail.ru>\r\n";
              $header.="X-Priority: 3 (Normal)\r\n";
              $header.="Message-ID: <172562218.".date("YmjHis")."@mail.ru>\r\n";
              $header.="To: =?windows-1251?Q?".str_replace("+","_",str_replace("%","=",urlencode('Сергей')))."?= <asd@qwe.ru>\r\n";
              $header.="Subject: =?windows-1251?Q?".str_replace("+","_",str_replace("%","=",urlencode('проверка')))."?=\r\n";
              $header.="MIME-Version: 1.0\r\n";
              $header.="Content-Type: text/plain; charset=windows-1251\r\n";
              $header.="Content-Transfer-Encoding: 8bit\r\n";

                                  //Здесь укажите электронный адрес, куда будут уходить сообщения
$mailto = $email;
$subject = "Подтверждение регистарции на сервисе coolBuh";
$message = 'Для активации аккаунта  на сервисе coolBuh пройдите по следующей ссылке 
http://servant/registration/registration.php?activation='.$uniq_id.'
или скопируйте ссылку в окно ввода адреса браузера и нажмите enter.';
                       
                                 //Отправляем сообщение
                                  if(sendmail($mailto,$subject,$message,$headers) !== FALSE)
                                    {
                                      echo 'Регистрация завершена, на введеный Вами e-mail 
                                            было отправлено сообщение для активации аккаунта
                                            <br/><a href="registration.php?exit=1"/>выход</a>';
                                    }
                                      else 
                                         {
                                          echo 'Регистрация невозможна: Повторите запрос позднее
                                              <br/><a href="registration.php"/>назад</a>';
                                         }
                                  }
                                    else 
                                      {
                                       echo 'Регистрация невозможна: Повторите запрос позднее
                                        <br/><a href="registration.php"/>назад</a>';
                                      }
                                }
                                  else 
                                   {
                                     echo 'Регистрация невозможна: Электронный адрес должен
                                            соответствовать шаблону <b>name@domen.com</b><br/><a
                                            href="registration.php"/>назад</a>';
                                    }    
                              }
                                else 
                                 { 
                                    echo 'Регистрация невозможна: Введенные пароли 
                                        не совпадают<br/><a href="registration.php?exit=1"/>назад</a>';
                                 }
                            }
                              else 
                                { 
                                    echo 'Регистрация невозможна: Пользователь с таким именем 
                                          уже существует<br/><a href="registration.php"/>назад</a>';
                                }

                                fclose($cc);

                          session_destroy();
                          }
                            else 
                              { 
                                  echo 'Регистрация невозможна: код подтверждения введен 
                                         не верно<br/><a href="registration.php"/>назад</a>';
                              }
                        }


      //Модуль отвечающий за активацию аккаунта
      if($_GET['activation'] AND $_GET['activation']!='') 
          {
            $uniq_id = $_GET['activation'];
            //Создаем запрос
            $r=@mysql_query("UPDATE users SET status=1 WHERE uniq_id='".$uniq_id."' AND status=0");

            if($r) 
              {
                echo '<h2>Ваша учетная запись активирована.</h2><br/> Теперь вы 
                можете <a href="index.php">войти на сайт</a> используя данные
                указанные при регистрации';
               }
                else 
                    {
                      echo 'Активация невозможна: профиль уже активирован';
                    }

            }

?>